Skip to content

Async step timeouts - #1834

Open
vkalapov wants to merge 10 commits into
masterfrom
async-step-timeouts
Open

vkalapov wants to merge 10 commits into
masterfrom
async-step-timeouts

Conversation

@vkalapov

Copy link
Copy Markdown
Contributor

LMCROSSITXSADEPLOY-3322

@vkalapov
vkalapov force-pushed the async-step-timeouts branch from 51adc0c to f3efdb1 Compare May 18, 2026 09:05
@sonarqubecloud

Copy link
Copy Markdown

@vkalapov
vkalapov force-pushed the async-step-timeouts branch from f3efdb1 to 86d67e4 Compare October 13, 2026 09:04
Introduce the vocabulary for configurable service operation timeouts:
- SupportedParameters: resource-level (create-service-timeout,
  bind-service-timeout, create-service-key-timeout) and global-level
  (services-*) parameter names
- Variables: the CLI-override process variables and the bind global
  fallback
- CloudServiceInstanceExtended: resource-level timeout fields, populated
  by ServicesCloudModelBuilder from the service's mtad parameters
- DurationUtil: parse and validate raw timeout values into Duration
- Constants: fixed ceilings for delete-service, delete-service-key and
  unbind-service operations
Add the timeout resolution engine:
- TimeoutType: declares, per operation, its parameter names, CLI process
  variable, maximum value, and (for services) how to read the timeout off
  the service instance
- TimeoutValueResolver: resolves a timeout by priority — CLI process
  variable, then resource/service-object value, then global descriptor
  parameter, then the default. Bind additionally falls back to a
  pre-resolved global variable because its subprocess has no descriptor
- TimeoutStepStateManager: tracks per-step elapsed time with correct
  reset semantics across retries and poll cycles
Wire the async steps to the resolver:
- TimeoutAsyncFlowableStep: resolve and log the timeout, then enforce it
  via the step state manager on every execution
- Create/Bind/CheckServiceBinding/CheckServiceKey steps resolve their
  configurable timeout from the resolver
- Delete/DeleteServiceKey/Unbind steps adopt a fixed safety ceiling
  (previously unbounded)
- ProcessDescriptorStep pre-resolves the global bind timeout into a
  process variable for the binding subprocess, which has no descriptor
Register the create-service, bind-service and create-service-key timeout
parameters (with their integer conversion) in the deploy, blue-green, CTS
and rollback metadata so they are accepted and converted to process
variables. Update metadata tests accordingly.
@vkalapov
vkalapov force-pushed the async-step-timeouts branch 2 times, most recently from ca7e8a6 to 50270b6 Compare October 14, 2026 11:23
@vkalapov
vkalapov force-pushed the async-step-timeouts branch from 50270b6 to 7f1c661 Compare October 14, 2026 11:25
@sonarqubecloud

Copy link
Copy Markdown

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants